package com.ruoyi.sales.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import java.text.SimpleDateFormat;
import java.util.List;
        import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sales.mapper.ZcSalesListMapper;
import com.ruoyi.sales.domain.ZcSalesList;
import com.ruoyi.sales.service.IZcSalesListService;

/**
 * 销售单Service业务层处理
 *
 * @author woo
 * @date 2024-04-09
 */
@Service
public class ZcSalesListServiceImpl extends ServiceImpl<ZcSalesListMapper, ZcSalesList> implements IZcSalesListService {
    @Autowired
    private ZcSalesListMapper zcSalesListMapper;

    /**
     * 查询销售单
     *
     * @param salesId 销售单主键
     * @return 销售单
     */
    @Override
    public ZcSalesList selectZcSalesListBySalesId(Long salesId) {
        return zcSalesListMapper.selectZcSalesListBySalesId(salesId);
    }

    /**
     * 查询销售单列表
     *
     * @param zcSalesList 销售单
     * @return 销售单
     */
    @Override
    public List<ZcSalesList> selectZcSalesListList(ZcSalesList zcSalesList) {
        return zcSalesListMapper.selectZcSalesListList(zcSalesList);
    }

    /**
     * 新增销售单
     *
     * @param zcSalesList 销售单
     * @return 结果
     */
    @Override
    public int insertZcSalesList(ZcSalesList zcSalesList) {
                zcSalesList.setCreateTime(DateUtils.getNowDate());
                zcSalesList.setDel((long) 0);
        //销售编码：创建时间年月日时分秒
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        String salesNumber = sdf.format(DateUtils.getNowDate());
                zcSalesList.setSalesNumber(Long.valueOf(salesNumber));
            return zcSalesListMapper.insertZcSalesList(zcSalesList);
    }

    /**
     * 修改销售单
     *
     * @param zcSalesList 销售单
     * @return 结果
     */
    @Override
    public int updateZcSalesList(ZcSalesList zcSalesList) {
                zcSalesList.setUpdateTime(DateUtils.getNowDate());
        return zcSalesListMapper.updateZcSalesList(zcSalesList);
    }

    /**
     * 批量删除销售单
     *
     * @param salesIds 需要删除的销售单主键
     * @return 结果
     */
    @Override
    public int deleteZcSalesListBySalesIds(Long[] salesIds) {
        return zcSalesListMapper.deleteZcSalesListBySalesIds(salesIds);
    }

    /**
     * 删除销售单信息
     *
     * @param salesId 销售单主键
     * @return 结果
     */
    @Override
    public int deleteZcSalesListBySalesId(Long salesId) {
        return zcSalesListMapper.deleteZcSalesListBySalesId(salesId);
    }

    @Override
    public List<ZcSalesList> selectAll() {
        QueryWrapper<ZcSalesList> qw = new QueryWrapper<>();
        qw.eq("del",0);
        List<ZcSalesList> salesLists = zcSalesListMapper.selectList(qw);
        return salesLists;
    }
}